package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.StrUtil;
import lombok.Getter;
import lombok.Setter;

/**
 * @Title:22 专业技术职务
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2018年1月9日
 * @since JDK1.6
 */
public class UecTitle extends UomEntity implements Serializable,Cloneable {

	private static final long serialVersionUID = -1523342449991456085L;
	/**
	 * 专业技术职务标识
	 * @return
	 */
	public Long getTitleId() {
		return super.getId();
	}
	public void setTitleId(Long titleId) {
		super.setId(titleId);
	}
	/**
	 * 员工标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 员工类型 =1：合同制、派遣制 =2：外包自有、其他
	 */
	@Getter
	@Setter
	private String nmStaffType;
	@Getter
	@Setter
	private Long monthId; // 账期
	@Getter
	@Setter
	private String pkPsndocSub; // 主键
	@Getter
	@Setter
	private String creationtime; // 创建时间
	@Getter
	@Setter
	private String creator; // 创建人
	@Getter
	@Setter
	private String glbdef1; // 聘任情况
	@Getter
	@Setter
	private String glbdef5; // 取得资格途径
	@Getter
	@Setter
	private String glbdef6; // 资格审批单位
	@Getter
	@Setter
	private String modifiedtime; // 修改时间
	@Getter
	@Setter
	private String tiptopFlag; // 最高
	@Getter
	@Setter
	private String titlerank; // 职称等级
	@Getter
	@Setter
	private String assorg; // 评定机构
	@Getter
	@Setter
	private String pkOrg; // 所属组织
	@Getter
	@Setter
	private String modifier; // 修改人
	@Getter
	@Setter
	private String pkTechposttitle; // 获得职称
	@Getter
	@Setter
	private String certifcode; // 证书编号
	@Getter
	@Setter
	private String glbdef4; // 取得资格时间
	@Getter
	@Setter
	private String pkPsndoc; // 人员基本信息
	@Getter
	@Setter
	private Long dr; // 删除标示
	@Getter
	@Setter
	private String ts; // 时间戳
	@Getter
	@Setter
	private String lastflag; // 最近记录标志
	/**
	 * 创建对象实例
	 */
	public static UecTitle newInstance(){
		return new UecTitle();
	}
	
	/**
	 * 最高 名称
	 * @return
	 */
	public String getTiptopFlagName() {
		if (!StrUtil.isNullOrEmpty(tiptopFlag)) {
			if ("Y".equals(tiptopFlag)) {
				return "是";
			}
			if ("N".equals(tiptopFlag)) {
				return "否";
			}
		}
		return tiptopFlag;
	}
	
	/**
	 * 获得职称 名称
	 * @return
	 */
	public String getPkTechposttitleName() {
		if (!StrUtil.isNullOrEmpty(this.getPkTechposttitle())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getPkTechposttitle());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	
	}
	
	/**
	 * 职称等级 名称
	 * @return
	 */
	public String getTitlerankName() {
		if (!StrUtil.isNullOrEmpty(this.getTitlerank())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getTitlerank());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	
	/**
	 * 取得资格途径 名称
	 * @return
	 */
	public String getGlbdef5Name() {
		if (!StrUtil.isNullOrEmpty(this.getGlbdef5())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getGlbdef5());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	
	@Override
	public UecTitle clone() {
		UecTitle uecTitle = null;
		try {
			uecTitle = (UecTitle) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return uecTitle;
	}
}
